﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RelationExpertSystem
{
    class Conversation
    {
        public void Converse()
        {
            // conversation; ask each question from conclusion to start IOT confirm data

            // User Query: Is Justin Luke's cousin?
            // System Question (SQ): Who is Luke's parent?
            // User Answer (UA): Richard
            // SQ: Who is Richard's sibling?
            // UA: none
            // SQ: Does Luke have another parent?
            // UA: Yes
            // SQ: Who is Luke's parent?
            // UA: Roxanne
            // SQ: Who is Roxanne's sibling?
            // UA: Suzie
            // SQ: Is Suzie Justin's parent?
            // UA: No
            // SQ: Does Roxanne have another sibling?
            // UA: Y
            // SQ: Who is Roxanne's sibling?
            // UA: Suzie
            // SQ: I already know that.
            // SQ: Does Roxanne have another sibling?
            // UA: Y
            // SQ: Who is Roxanne's sibling?
            // UA: Cindy
            // SQ: is Cindy Justin's parent?
            // UA: Yes
            // System Conclusion: [Then yes,] Justin is Luke's cousin

            //Type t = typeof(Person);
            //t.GetMethod("method_name"); // use this to identify Action and State IOT build inference [state] graph
            // consider PersonPair.PersonA and .PersonB are important, as is typeof(Person).GetMethod("IsCouin") or ("SetCousin")
            // Action -> State mapping is Dictionary <string, string> using method names
            // Inference graph is composed of states
        }
    }
}
